export const MONITORING_CONFIG = {
  // 数据上报地址 - 指向后端nest-admin服务
  dsn: 'http://localhost:3000/v3/trackweb',

  // 应用名称
  appName: 'VNA-ADMIN',

  // 应用版本
  version: '1.0.0',

  // 环境
  environment: 'development',

  // 是否开启调试模式
  debug: true,

  // 是否开启页面访问（PV）
  pv: true,

  // 是否开启性能监控
  performance: {
    core: false,
    firstResource: true,
    server: true,
  },

  // 是否开启错误监控
  error: true,

  // 是否开启事件监控
  event: true,

  // 缓存最大长度
  cacheMaxLength: 5,

  // 缓存等待时间（毫秒）
  cacheWatingTime: 2000,

  // 忽略的请求列表（正则表达式）
  ignoreRequest: [
    /getAllTracingList/,
    /cleanTracingList/,
    /getBaseInfo/,
    /getSourceMap/,
  ],

  // 用户ID（可选，登录后设置）
  userId: null,

  // 用户名称（可选，登录后设置）
  userName: null,

  // 用户邮箱（可选，登录后设置）
  userEmail: null,
  beforePushEventList: (data) => {
    const newData = data.filter((item) => {
      if (item.referer && item.referer.indexOf('login') > -1) {
        return false;
      }
      if (item.eventId && item.eventId === 'server') {
        if (item.responseStatus !== 200 || item.responseStatus !== 201) {
          return false;
        }
      }
      return true;
    });
    return newData.length > 0 ? newData : false;
  },

  // 自定义上报数据前的钩子函数
  beforeSendData: (data) => {
    console.log('[监控] 准备上报数据:', data);
    return data;
  },

  // 上报数据后的回调函数
  afterSendData: (data) => {
    console.log('[监控] 已上报数据:', data);
  },
};
